package ar.com.sectorwine.services;

import java.util.List;

import ar.com.sectorwine.dto.PublicacionDTO;
import ar.com.sectorwine.entities.Empresa;
import ar.com.sectorwine.entities.Publicacion;
import ar.com.sectorwine.entities.TipoPublicacion;
import ar.com.sectorwine.entities.Users;

public interface PublicacionesService {

	public Publicacion crearPublicacion(Empresa empresa, Users user,
			int tipoPublicacion, String cuerpo, String titulo, String imagen,
			String breveDescripcion, String url, String fuente, List<String> tag);

	public List<Publicacion> obtenerPublicaciones(Empresa empresa);

	public List<Publicacion> obtenerPublicaciones();

	public List<TipoPublicacion> obtenerTipoPublicaciones();

	public List<Publicacion> obtenerPublicaciones(Empresa empresa,
			TipoPublicacion tipoPublicacion);

	public void eliminarPublicacion(Long publicacionId);

	public PublicacionDTO getPublicacionDTO(Long publicacionId);

	public Publicacion crearPublicacion(Empresa empresa, Users user,
			Publicacion pub, int tipoPublicacion);

	Publicacion crearPublicacion(Empresa empresa, Users user,
			int tipoPublicacion, String cuerpo, String titulo, String imagen,
			String breveDescripcion, String url, String fuente, String tag);

	Publicacion crearPublicacion(Empresa empresa, Users user,
			int tipoPublicacion, String cuerpo, String titulo, String imagen,
			String breveDescripcion, String url, String fuente, String tag,
			Long idEmpresaFuente);

	public Publicacion crearPublicacion(Empresa empresa, Users user,
			int tipoPublicacion, String cuerpo, String titulo, String imagen,
			String breveDescripcion, String url, String fuente, String tag,
			Long idEmpresaFuente, Long idPublicacionFuente);
}
